#include <REGX52.H>

void delay_ms(unsigned int ms)
{
    unsigned int i, j;
    for (i = 0; i < ms; i++)
    {
        for (j = 0; j < 123; j++)
            ;
    }
}
/*增加两个按钮，一个是+1，一个是-1
8个灯表示一个二进制数，
+1按钮每次按下， 二进制数+1，灯亮表示这个二进制数
-1按钮每次按下， 二进制数-1，灯亮表示这个二进制数
*/

sbit BTN1 = P3 ^ 0; // +1按钮
sbit BTN2 = P3 ^ 1; // -1按钮
unsigned char temp = 0;

void main()
{
    P2 = ~temp; // 初始状态 小灯全部熄灭
    while (1)
    {
        if (BTN1 == 0)//+1按钮
        {
            if (BTN1 == 0)
            {
                temp++;
                P2 = ~temp;//取反显示 LED连的高电平，显示不是很方便
                while (BTN1 == 0); //防止连点
            }
        }
        if (BTN2 == 0)
        {
            if (BTN2 == 0)
            {
                temp--;
                P2 = ~temp;
                while (BTN2 == 0); 
            }
        }
    }
}